{"ast":null,"code":"import _defineProperty from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _slicedToArray from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n  for (var p in s) {\n    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  }\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CopyOutlined from \"@ant-design/icons/es/icons/CopyOutlined\";\nimport EditOutlined from \"@ant-design/icons/es/icons/EditOutlined\";\nimport classNames from 'classnames';\nimport copy from 'copy-to-clipboard';\nimport ResizeObserver from 'rc-resize-observer';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { useLocaleReceiver } from '../../locale/LocaleReceiver';\nimport TransButton from '../../_util/transButton';\nimport { isStyleSupport } from '../../_util/styleChecker';\nimport Tooltip from '../../tooltip';\nimport Editable from '../Editable';\nimport useMergedConfig from '../hooks/useMergedConfig';\nimport useUpdatedEffect from '../hooks/useUpdatedEffect';\nimport Typography from '../Typography';\nimport Ellipsis from './Ellipsis';\nimport EllipsisTooltip from './EllipsisTooltip';\nfunction wrapperDecorations(_ref, content) {\n  var mark = _ref.mark,\n    code = _ref.code,\n    underline = _ref.underline,\n    del = _ref.delete,\n    strong = _ref.strong,\n    keyboard = _ref.keyboard,\n    italic = _ref.italic;\n  var currentContent = content;\n  function wrap(needed, tag) {\n    if (!needed) return;\n    currentContent = /*#__PURE__*/React.createElement(tag, {}, currentContent);\n  }\n  wrap(strong, 'strong');\n  wrap(underline, 'u');\n  wrap(del, 'del');\n  wrap(code, 'code');\n  wrap(mark, 'mark');\n  wrap(keyboard, 'kbd');\n  wrap(italic, 'i');\n  return currentContent;\n}\nfunction getNode(dom, defaultNode, needDom) {\n  if (dom === true || dom === undefined) {\n    return defaultNode;\n  }\n  return dom || needDom && defaultNode;\n}\nfunction toList(val) {\n  if (val === false) {\n    return [false, false];\n  }\n  return Array.isArray(val) ? val : [val];\n}\nvar ELLIPSIS_STR = '...';\nvar Base = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  var _a, _b, _c;\n  var customizePrefixCls = props.prefixCls,\n    className = props.className,\n    style = props.style,\n    type = props.type,\n    disabled = props.disabled,\n    children = props.children,\n    ellipsis = props.ellipsis,\n    editable = props.editable,\n    copyable = props.copyable,\n    component = props.component,\n    title = props.title,\n    restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"type\", \"disabled\", \"children\", \"ellipsis\", \"editable\", \"copyable\", \"component\", \"title\"]);\n  var _React$useContext = React.useContext(ConfigContext),\n    getPrefixCls = _React$useContext.getPrefixCls,\n    direction = _React$useContext.direction;\n  var textLocale = useLocaleReceiver('Text')[0]; // Force TS get this\n  var typographyRef = React.useRef(null);\n  var editIconRef = React.useRef(null);\n  // ============================ MISC ============================\n  var prefixCls = getPrefixCls('typography', customizePrefixCls);\n  var textProps = omit(restProps, ['mark', 'code', 'delete', 'underline', 'strong', 'keyboard', 'italic']);\n  // ========================== Editable ==========================\n  var _useMergedConfig = useMergedConfig(editable),\n    _useMergedConfig2 = _slicedToArray(_useMergedConfig, 2),\n    enableEdit = _useMergedConfig2[0],\n    editConfig = _useMergedConfig2[1];\n  var _useMergedState = useMergedState(false, {\n      value: editConfig.editing\n    }),\n    _useMergedState2 = _slicedToArray(_useMergedState, 2),\n    editing = _useMergedState2[0],\n    setEditing = _useMergedState2[1];\n  var _editConfig$triggerTy = editConfig.triggerType,\n    triggerType = _editConfig$triggerTy === void 0 ? ['icon'] : _editConfig$triggerTy;\n  var triggerEdit = function triggerEdit(edit) {\n    var _a;\n    if (edit) {\n      (_a = editConfig.onStart) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n    }\n    setEditing(edit);\n  };\n  // Focus edit icon when back\n  useUpdatedEffect(function () {\n    var _a;\n    if (!editing) {\n      (_a = editIconRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n    }\n  }, [editing]);\n  var onEditClick = function onEditClick(e) {\n    e === null || e === void 0 ? void 0 : e.preventDefault();\n    triggerEdit(true);\n  };\n  var onEditChange = function onEditChange(value) {\n    var _a;\n    (_a = editConfig.onChange) === null || _a === void 0 ? void 0 : _a.call(editConfig, value);\n    triggerEdit(false);\n  };\n  var onEditCancel = function onEditCancel() {\n    var _a;\n    (_a = editConfig.onCancel) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n    triggerEdit(false);\n  };\n  // ========================== Copyable ==========================\n  var _useMergedConfig3 = useMergedConfig(copyable),\n    _useMergedConfig4 = _slicedToArray(_useMergedConfig3, 2),\n    enableCopy = _useMergedConfig4[0],\n    copyConfig = _useMergedConfig4[1];\n  var _React$useState = React.useState(false),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    copied = _React$useState2[0],\n    setCopied = _React$useState2[1];\n  var copyIdRef = React.useRef();\n  var copyOptions = {};\n  if (copyConfig.format) {\n    copyOptions.format = copyConfig.format;\n  }\n  var cleanCopyId = function cleanCopyId() {\n    window.clearTimeout(copyIdRef.current);\n  };\n  var onCopyClick = function onCopyClick(e) {\n    var _a;\n    e === null || e === void 0 ? void 0 : e.preventDefault();\n    e === null || e === void 0 ? void 0 : e.stopPropagation();\n    copy(copyConfig.text || String(children) || '', copyOptions);\n    setCopied(true);\n    // Trigger tips update\n    cleanCopyId();\n    copyIdRef.current = window.setTimeout(function () {\n      setCopied(false);\n    }, 3000);\n    (_a = copyConfig.onCopy) === null || _a === void 0 ? void 0 : _a.call(copyConfig, e);\n  };\n  React.useEffect(function () {\n    return cleanCopyId;\n  }, []);\n  // ========================== Ellipsis ==========================\n  var _React$useState3 = React.useState(false),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    isLineClampSupport = _React$useState4[0],\n    setIsLineClampSupport = _React$useState4[1];\n  var _React$useState5 = React.useState(false),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    isTextOverflowSupport = _React$useState6[0],\n    setIsTextOverflowSupport = _React$useState6[1];\n  var _React$useState7 = React.useState(false),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    expanded = _React$useState8[0],\n    setExpanded = _React$useState8[1];\n  var _React$useState9 = React.useState(false),\n    _React$useState10 = _slicedToArray(_React$useState9, 2),\n    isJsEllipsis = _React$useState10[0],\n    setIsJsEllipsis = _React$useState10[1];\n  var _React$useState11 = React.useState(false),\n    _React$useState12 = _slicedToArray(_React$useState11, 2),\n    isNativeEllipsis = _React$useState12[0],\n    setIsNativeEllipsis = _React$useState12[1];\n  var _React$useState13 = React.useState(true),\n    _React$useState14 = _slicedToArray(_React$useState13, 2),\n    isNativeVisible = _React$useState14[0],\n    setIsNativeVisible = _React$useState14[1];\n  var _useMergedConfig5 = useMergedConfig(ellipsis, {\n      expandable: false\n    }),\n    _useMergedConfig6 = _slicedToArray(_useMergedConfig5, 2),\n    enableEllipsis = _useMergedConfig6[0],\n    ellipsisConfig = _useMergedConfig6[1];\n  var mergedEnableEllipsis = enableEllipsis && !expanded;\n  // Shared prop to reduce bundle size\n  var _ellipsisConfig$rows = ellipsisConfig.rows,\n    rows = _ellipsisConfig$rows === void 0 ? 1 : _ellipsisConfig$rows;\n  var needMeasureEllipsis = React.useMemo(function () {\n    return (\n      // Disable ellipsis\n      !mergedEnableEllipsis ||\n      // Provide suffix\n      ellipsisConfig.suffix !== undefined || ellipsisConfig.onEllipsis ||\n      // Can't use css ellipsis since we need to provide the place for button\n      ellipsisConfig.expandable || enableEdit || enableCopy\n    );\n  }, [mergedEnableEllipsis, ellipsisConfig, enableEdit, enableCopy]);\n  useIsomorphicLayoutEffect(function () {\n    if (enableEllipsis && !needMeasureEllipsis) {\n      setIsLineClampSupport(isStyleSupport('webkitLineClamp'));\n      setIsTextOverflowSupport(isStyleSupport('textOverflow'));\n    }\n  }, [needMeasureEllipsis, enableEllipsis]);\n  var cssEllipsis = React.useMemo(function () {\n    if (needMeasureEllipsis) {\n      return false;\n    }\n    if (rows === 1) {\n      return isTextOverflowSupport;\n    }\n    return isLineClampSupport;\n  }, [needMeasureEllipsis, isTextOverflowSupport, isLineClampSupport]);\n  var isMergedEllipsis = mergedEnableEllipsis && (cssEllipsis ? isNativeEllipsis : isJsEllipsis);\n  var cssTextOverflow = mergedEnableEllipsis && rows === 1 && cssEllipsis;\n  var cssLineClamp = mergedEnableEllipsis && rows > 1 && cssEllipsis;\n  // >>>>> Expand\n  var onExpandClick = function onExpandClick(e) {\n    var _a;\n    setExpanded(true);\n    (_a = ellipsisConfig.onExpand) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, e);\n  };\n  var _React$useState15 = React.useState(0),\n    _React$useState16 = _slicedToArray(_React$useState15, 2),\n    ellipsisWidth = _React$useState16[0],\n    setEllipsisWidth = _React$useState16[1];\n  var _React$useState17 = React.useState(0),\n    _React$useState18 = _slicedToArray(_React$useState17, 2),\n    ellipsisFontSize = _React$useState18[0],\n    setEllipsisFontSize = _React$useState18[1];\n  var onResize = function onResize(_ref2, element) {\n    var offsetWidth = _ref2.offsetWidth;\n    var _a;\n    setEllipsisWidth(offsetWidth);\n    setEllipsisFontSize(parseInt((_a = window.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(window, element).fontSize, 10) || 0);\n  };\n  // >>>>> JS Ellipsis\n  var onJsEllipsis = function onJsEllipsis(jsEllipsis) {\n    var _a;\n    setIsJsEllipsis(jsEllipsis);\n    // Trigger if changed\n    if (isJsEllipsis !== jsEllipsis) {\n      (_a = ellipsisConfig.onEllipsis) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, jsEllipsis);\n    }\n  };\n  // >>>>> Native ellipsis\n  React.useEffect(function () {\n    var textEle = typographyRef.current;\n    if (enableEllipsis && cssEllipsis && textEle) {\n      var currentEllipsis = cssLineClamp ? textEle.offsetHeight < textEle.scrollHeight : textEle.offsetWidth < textEle.scrollWidth;\n      if (isNativeEllipsis !== currentEllipsis) {\n        setIsNativeEllipsis(currentEllipsis);\n      }\n    }\n  }, [enableEllipsis, cssEllipsis, children, cssLineClamp, isNativeVisible]);\n  // https://github.com/ant-design/ant-design/issues/36786\n  // Use IntersectionObserver to check if element is invisible\n  React.useEffect(function () {\n    var textEle = typographyRef.current;\n    if (typeof IntersectionObserver === 'undefined' || !textEle || !cssEllipsis || !mergedEnableEllipsis) {\n      return;\n    }\n    /* eslint-disable-next-line compat/compat */\n    var observer = new IntersectionObserver(function () {\n      setIsNativeVisible(!!textEle.offsetParent);\n    });\n    observer.observe(textEle);\n    return function () {\n      observer.disconnect();\n    };\n  }, [cssEllipsis, mergedEnableEllipsis]);\n  // ========================== Tooltip ===========================\n  var tooltipProps = {};\n  if (ellipsisConfig.tooltip === true) {\n    tooltipProps = {\n      title: (_a = editConfig.text) !== null && _a !== void 0 ? _a : children\n    };\n  } else if ( /*#__PURE__*/React.isValidElement(ellipsisConfig.tooltip)) {\n    tooltipProps = {\n      title: ellipsisConfig.tooltip\n    };\n  } else if (typeof ellipsisConfig.tooltip === 'object') {\n    tooltipProps = Object.assign({\n      title: (_b = editConfig.text) !== null && _b !== void 0 ? _b : children\n    }, ellipsisConfig.tooltip);\n  } else {\n    tooltipProps = {\n      title: ellipsisConfig.tooltip\n    };\n  }\n  var topAriaLabel = React.useMemo(function () {\n    var isValid = function isValid(val) {\n      return ['string', 'number'].includes(typeof val);\n    };\n    if (!enableEllipsis || cssEllipsis) {\n      return undefined;\n    }\n    if (isValid(editConfig.text)) {\n      return editConfig.text;\n    }\n    if (isValid(children)) {\n      return children;\n    }\n    if (isValid(title)) {\n      return title;\n    }\n    if (isValid(tooltipProps.title)) {\n      return tooltipProps.title;\n    }\n    return undefined;\n  }, [enableEllipsis, cssEllipsis, title, tooltipProps.title, isMergedEllipsis]);\n  // =========================== Render ===========================\n  // >>>>>>>>>>> Editing input\n  if (editing) {\n    return /*#__PURE__*/React.createElement(Editable, {\n      value: (_c = editConfig.text) !== null && _c !== void 0 ? _c : typeof children === 'string' ? children : '',\n      onSave: onEditChange,\n      onCancel: onEditCancel,\n      onEnd: editConfig.onEnd,\n      prefixCls: prefixCls,\n      className: className,\n      style: style,\n      direction: direction,\n      component: component,\n      maxLength: editConfig.maxLength,\n      autoSize: editConfig.autoSize,\n      enterIcon: editConfig.enterIcon\n    });\n  }\n  // >>>>>>>>>>> Typography\n  // Expand\n  var renderExpand = function renderExpand() {\n    var expandable = ellipsisConfig.expandable,\n      symbol = ellipsisConfig.symbol;\n    if (!expandable) return null;\n    var expandContent;\n    if (symbol) {\n      expandContent = symbol;\n    } else {\n      expandContent = textLocale.expand;\n    }\n    return /*#__PURE__*/React.createElement(\"a\", {\n      key: \"expand\",\n      className: \"\".concat(prefixCls, \"-expand\"),\n      onClick: onExpandClick,\n      \"aria-label\": textLocale.expand\n    }, expandContent);\n  };\n  // Edit\n  var renderEdit = function renderEdit() {\n    if (!enableEdit) return;\n    var icon = editConfig.icon,\n      tooltip = editConfig.tooltip;\n    var editTitle = toArray(tooltip)[0] || textLocale.edit;\n    var ariaLabel = typeof editTitle === 'string' ? editTitle : '';\n    return triggerType.includes('icon') ? /*#__PURE__*/React.createElement(Tooltip, {\n      key: \"edit\",\n      title: tooltip === false ? '' : editTitle\n    }, /*#__PURE__*/React.createElement(TransButton, {\n      ref: editIconRef,\n      className: \"\".concat(prefixCls, \"-edit\"),\n      onClick: onEditClick,\n      \"aria-label\": ariaLabel\n    }, icon || /*#__PURE__*/React.createElement(EditOutlined, {\n      role: \"button\"\n    }))) : null;\n  };\n  // Copy\n  var renderCopy = function renderCopy() {\n    if (!enableCopy) return;\n    var tooltips = copyConfig.tooltips,\n      icon = copyConfig.icon;\n    var tooltipNodes = toList(tooltips);\n    var iconNodes = toList(icon);\n    var copyTitle = copied ? getNode(tooltipNodes[1], textLocale.copied) : getNode(tooltipNodes[0], textLocale.copy);\n    var systemStr = copied ? textLocale.copied : textLocale.copy;\n    var ariaLabel = typeof copyTitle === 'string' ? copyTitle : systemStr;\n    return /*#__PURE__*/React.createElement(Tooltip, {\n      key: \"copy\",\n      title: copyTitle\n    }, /*#__PURE__*/React.createElement(TransButton, {\n      className: classNames(\"\".concat(prefixCls, \"-copy\"), copied && \"\".concat(prefixCls, \"-copy-success\")),\n      onClick: onCopyClick,\n      \"aria-label\": ariaLabel\n    }, copied ? getNode(iconNodes[1], /*#__PURE__*/React.createElement(CheckOutlined, null), true) : getNode(iconNodes[0], /*#__PURE__*/React.createElement(CopyOutlined, null), true)));\n  };\n  var renderOperations = function renderOperations(renderExpanded) {\n    return [renderExpanded && renderExpand(), renderEdit(), renderCopy()];\n  };\n  var renderEllipsis = function renderEllipsis(needEllipsis) {\n    return [needEllipsis && /*#__PURE__*/React.createElement(\"span\", {\n      \"aria-hidden\": true,\n      key: \"ellipsis\"\n    }, ELLIPSIS_STR), ellipsisConfig.suffix, renderOperations(needEllipsis)];\n  };\n  return /*#__PURE__*/React.createElement(ResizeObserver, {\n    onResize: onResize,\n    disabled: !mergedEnableEllipsis || cssEllipsis\n  }, function (resizeRef) {\n    var _classNames;\n    return /*#__PURE__*/React.createElement(EllipsisTooltip, {\n      tooltipProps: tooltipProps,\n      enabledEllipsis: mergedEnableEllipsis,\n      isEllipsis: isMergedEllipsis\n    }, /*#__PURE__*/React.createElement(Typography, Object.assign({\n      className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(type), type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ellipsis\"), enableEllipsis), _defineProperty(_classNames, \"\".concat(prefixCls, \"-single-line\"), mergedEnableEllipsis && rows === 1), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ellipsis-single-line\"), cssTextOverflow), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ellipsis-multiple-line\"), cssLineClamp), _classNames), className),\n      prefixCls: customizePrefixCls,\n      style: Object.assign(Object.assign({}, style), {\n        WebkitLineClamp: cssLineClamp ? rows : undefined\n      }),\n      component: component,\n      ref: composeRef(resizeRef, typographyRef, ref),\n      direction: direction,\n      onClick: triggerType.includes('text') ? onEditClick : undefined,\n      \"aria-label\": topAriaLabel === null || topAriaLabel === void 0 ? void 0 : topAriaLabel.toString(),\n      title: title\n    }, textProps), /*#__PURE__*/React.createElement(Ellipsis, {\n      enabledMeasure: mergedEnableEllipsis && !cssEllipsis,\n      text: children,\n      rows: rows,\n      width: ellipsisWidth,\n      fontSize: ellipsisFontSize,\n      onEllipsis: onJsEllipsis\n    }, function (node, needEllipsis) {\n      var renderNode = node;\n      if (node.length && needEllipsis && topAriaLabel) {\n        renderNode = /*#__PURE__*/React.createElement(\"span\", {\n          key: \"show-content\",\n          \"aria-hidden\": true\n        }, renderNode);\n      }\n      var wrappedContext = wrapperDecorations(props, /*#__PURE__*/React.createElement(React.Fragment, null, renderNode, renderEllipsis(needEllipsis)));\n      return wrappedContext;\n    })));\n  });\n});\nexport default Base;","map":{"version":3,"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","CheckOutlined","CopyOutlined","EditOutlined","classNames","copy","ResizeObserver","toArray","useIsomorphicLayoutEffect","useMergedState","omit","composeRef","React","ConfigContext","useLocaleReceiver","TransButton","isStyleSupport","Tooltip","Editable","useMergedConfig","useUpdatedEffect","Typography","Ellipsis","EllipsisTooltip","wrapperDecorations","_ref","content","mark","code","underline","del","delete","strong","keyboard","italic","currentContent","wrap","needed","tag","createElement","getNode","dom","defaultNode","needDom","undefined","toList","val","Array","isArray","ELLIPSIS_STR","Base","forwardRef","props","ref","_a","_b","_c","customizePrefixCls","prefixCls","className","style","type","disabled","children","ellipsis","editable","copyable","component","title","restProps","useContext","getPrefixCls","direction","textLocale","typographyRef","useRef","editIconRef","textProps","enableEdit","editConfig","value","editing","setEditing","triggerType","triggerEdit","edit","onStart","current","focus","onEditClick","preventDefault","onEditChange","onChange","onEditCancel","onCancel","enableCopy","copyConfig","useState","copied","setCopied","copyIdRef","copyOptions","format","cleanCopyId","window","clearTimeout","onCopyClick","stopPropagation","text","String","setTimeout","onCopy","useEffect","isLineClampSupport","setIsLineClampSupport","isTextOverflowSupport","setIsTextOverflowSupport","expanded","setExpanded","isJsEllipsis","setIsJsEllipsis","isNativeEllipsis","setIsNativeEllipsis","isNativeVisible","setIsNativeVisible","expandable","enableEllipsis","ellipsisConfig","mergedEnableEllipsis","rows","needMeasureEllipsis","useMemo","suffix","onEllipsis","cssEllipsis","isMergedEllipsis","cssTextOverflow","cssLineClamp","onExpandClick","onExpand","ellipsisWidth","setEllipsisWidth","ellipsisFontSize","setEllipsisFontSize","onResize","_ref2","element","offsetWidth","parseInt","getComputedStyle","fontSize","onJsEllipsis","jsEllipsis","textEle","currentEllipsis","offsetHeight","scrollHeight","scrollWidth","IntersectionObserver","observer","offsetParent","observe","disconnect","tooltipProps","tooltip","isValidElement","assign","topAriaLabel","isValid","includes","onSave","onEnd","maxLength","autoSize","enterIcon","renderExpand","symbol","expandContent","expand","key","onClick","renderEdit","icon","editTitle","ariaLabel","role","renderCopy","tooltips","tooltipNodes","iconNodes","copyTitle","systemStr","renderOperations","renderExpanded","renderEllipsis","needEllipsis","resizeRef","enabledEllipsis","isEllipsis","WebkitLineClamp","toString","enabledMeasure","width","node","renderNode","wrappedContext","Fragment"],"sources":["/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/antd/es/typography/Base/index.js"],"sourcesContent":["var __rest = this && this.__rest || function (s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CopyOutlined from \"@ant-design/icons/es/icons/CopyOutlined\";\nimport EditOutlined from \"@ant-design/icons/es/icons/EditOutlined\";\nimport classNames from 'classnames';\nimport copy from 'copy-to-clipboard';\nimport ResizeObserver from 'rc-resize-observer';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { useLocaleReceiver } from '../../locale/LocaleReceiver';\nimport TransButton from '../../_util/transButton';\nimport { isStyleSupport } from '../../_util/styleChecker';\nimport Tooltip from '../../tooltip';\nimport Editable from '../Editable';\nimport useMergedConfig from '../hooks/useMergedConfig';\nimport useUpdatedEffect from '../hooks/useUpdatedEffect';\nimport Typography from '../Typography';\nimport Ellipsis from './Ellipsis';\nimport EllipsisTooltip from './EllipsisTooltip';\nfunction wrapperDecorations(_ref, content) {\n  let {\n    mark,\n    code,\n    underline,\n    delete: del,\n    strong,\n    keyboard,\n    italic\n  } = _ref;\n  let currentContent = content;\n  function wrap(needed, tag) {\n    if (!needed) return;\n    currentContent = /*#__PURE__*/React.createElement(tag, {}, currentContent);\n  }\n  wrap(strong, 'strong');\n  wrap(underline, 'u');\n  wrap(del, 'del');\n  wrap(code, 'code');\n  wrap(mark, 'mark');\n  wrap(keyboard, 'kbd');\n  wrap(italic, 'i');\n  return currentContent;\n}\nfunction getNode(dom, defaultNode, needDom) {\n  if (dom === true || dom === undefined) {\n    return defaultNode;\n  }\n  return dom || needDom && defaultNode;\n}\nfunction toList(val) {\n  if (val === false) {\n    return [false, false];\n  }\n  return Array.isArray(val) ? val : [val];\n}\nconst ELLIPSIS_STR = '...';\nconst Base = /*#__PURE__*/React.forwardRef((props, ref) => {\n  var _a, _b, _c;\n  const {\n      prefixCls: customizePrefixCls,\n      className,\n      style,\n      type,\n      disabled,\n      children,\n      ellipsis,\n      editable,\n      copyable,\n      component,\n      title\n    } = props,\n    restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"type\", \"disabled\", \"children\", \"ellipsis\", \"editable\", \"copyable\", \"component\", \"title\"]);\n  const {\n    getPrefixCls,\n    direction\n  } = React.useContext(ConfigContext);\n  const textLocale = useLocaleReceiver('Text')[0]; // Force TS get this\n  const typographyRef = React.useRef(null);\n  const editIconRef = React.useRef(null);\n  // ============================ MISC ============================\n  const prefixCls = getPrefixCls('typography', customizePrefixCls);\n  const textProps = omit(restProps, ['mark', 'code', 'delete', 'underline', 'strong', 'keyboard', 'italic']);\n  // ========================== Editable ==========================\n  const [enableEdit, editConfig] = useMergedConfig(editable);\n  const [editing, setEditing] = useMergedState(false, {\n    value: editConfig.editing\n  });\n  const {\n    triggerType = ['icon']\n  } = editConfig;\n  const triggerEdit = edit => {\n    var _a;\n    if (edit) {\n      (_a = editConfig.onStart) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n    }\n    setEditing(edit);\n  };\n  // Focus edit icon when back\n  useUpdatedEffect(() => {\n    var _a;\n    if (!editing) {\n      (_a = editIconRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n    }\n  }, [editing]);\n  const onEditClick = e => {\n    e === null || e === void 0 ? void 0 : e.preventDefault();\n    triggerEdit(true);\n  };\n  const onEditChange = value => {\n    var _a;\n    (_a = editConfig.onChange) === null || _a === void 0 ? void 0 : _a.call(editConfig, value);\n    triggerEdit(false);\n  };\n  const onEditCancel = () => {\n    var _a;\n    (_a = editConfig.onCancel) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n    triggerEdit(false);\n  };\n  // ========================== Copyable ==========================\n  const [enableCopy, copyConfig] = useMergedConfig(copyable);\n  const [copied, setCopied] = React.useState(false);\n  const copyIdRef = React.useRef();\n  const copyOptions = {};\n  if (copyConfig.format) {\n    copyOptions.format = copyConfig.format;\n  }\n  const cleanCopyId = () => {\n    window.clearTimeout(copyIdRef.current);\n  };\n  const onCopyClick = e => {\n    var _a;\n    e === null || e === void 0 ? void 0 : e.preventDefault();\n    e === null || e === void 0 ? void 0 : e.stopPropagation();\n    copy(copyConfig.text || String(children) || '', copyOptions);\n    setCopied(true);\n    // Trigger tips update\n    cleanCopyId();\n    copyIdRef.current = window.setTimeout(() => {\n      setCopied(false);\n    }, 3000);\n    (_a = copyConfig.onCopy) === null || _a === void 0 ? void 0 : _a.call(copyConfig, e);\n  };\n  React.useEffect(() => cleanCopyId, []);\n  // ========================== Ellipsis ==========================\n  const [isLineClampSupport, setIsLineClampSupport] = React.useState(false);\n  const [isTextOverflowSupport, setIsTextOverflowSupport] = React.useState(false);\n  const [expanded, setExpanded] = React.useState(false);\n  const [isJsEllipsis, setIsJsEllipsis] = React.useState(false);\n  const [isNativeEllipsis, setIsNativeEllipsis] = React.useState(false);\n  const [isNativeVisible, setIsNativeVisible] = React.useState(true);\n  const [enableEllipsis, ellipsisConfig] = useMergedConfig(ellipsis, {\n    expandable: false\n  });\n  const mergedEnableEllipsis = enableEllipsis && !expanded;\n  // Shared prop to reduce bundle size\n  const {\n    rows = 1\n  } = ellipsisConfig;\n  const needMeasureEllipsis = React.useMemo(() =>\n  // Disable ellipsis\n  !mergedEnableEllipsis ||\n  // Provide suffix\n  ellipsisConfig.suffix !== undefined || ellipsisConfig.onEllipsis ||\n  // Can't use css ellipsis since we need to provide the place for button\n  ellipsisConfig.expandable || enableEdit || enableCopy, [mergedEnableEllipsis, ellipsisConfig, enableEdit, enableCopy]);\n  useIsomorphicLayoutEffect(() => {\n    if (enableEllipsis && !needMeasureEllipsis) {\n      setIsLineClampSupport(isStyleSupport('webkitLineClamp'));\n      setIsTextOverflowSupport(isStyleSupport('textOverflow'));\n    }\n  }, [needMeasureEllipsis, enableEllipsis]);\n  const cssEllipsis = React.useMemo(() => {\n    if (needMeasureEllipsis) {\n      return false;\n    }\n    if (rows === 1) {\n      return isTextOverflowSupport;\n    }\n    return isLineClampSupport;\n  }, [needMeasureEllipsis, isTextOverflowSupport, isLineClampSupport]);\n  const isMergedEllipsis = mergedEnableEllipsis && (cssEllipsis ? isNativeEllipsis : isJsEllipsis);\n  const cssTextOverflow = mergedEnableEllipsis && rows === 1 && cssEllipsis;\n  const cssLineClamp = mergedEnableEllipsis && rows > 1 && cssEllipsis;\n  // >>>>> Expand\n  const onExpandClick = e => {\n    var _a;\n    setExpanded(true);\n    (_a = ellipsisConfig.onExpand) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, e);\n  };\n  const [ellipsisWidth, setEllipsisWidth] = React.useState(0);\n  const [ellipsisFontSize, setEllipsisFontSize] = React.useState(0);\n  const onResize = (_ref2, element) => {\n    let {\n      offsetWidth\n    } = _ref2;\n    var _a;\n    setEllipsisWidth(offsetWidth);\n    setEllipsisFontSize(parseInt((_a = window.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(window, element).fontSize, 10) || 0);\n  };\n  // >>>>> JS Ellipsis\n  const onJsEllipsis = jsEllipsis => {\n    var _a;\n    setIsJsEllipsis(jsEllipsis);\n    // Trigger if changed\n    if (isJsEllipsis !== jsEllipsis) {\n      (_a = ellipsisConfig.onEllipsis) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, jsEllipsis);\n    }\n  };\n  // >>>>> Native ellipsis\n  React.useEffect(() => {\n    const textEle = typographyRef.current;\n    if (enableEllipsis && cssEllipsis && textEle) {\n      const currentEllipsis = cssLineClamp ? textEle.offsetHeight < textEle.scrollHeight : textEle.offsetWidth < textEle.scrollWidth;\n      if (isNativeEllipsis !== currentEllipsis) {\n        setIsNativeEllipsis(currentEllipsis);\n      }\n    }\n  }, [enableEllipsis, cssEllipsis, children, cssLineClamp, isNativeVisible]);\n  // https://github.com/ant-design/ant-design/issues/36786\n  // Use IntersectionObserver to check if element is invisible\n  React.useEffect(() => {\n    const textEle = typographyRef.current;\n    if (typeof IntersectionObserver === 'undefined' || !textEle || !cssEllipsis || !mergedEnableEllipsis) {\n      return;\n    }\n    /* eslint-disable-next-line compat/compat */\n    const observer = new IntersectionObserver(() => {\n      setIsNativeVisible(!!textEle.offsetParent);\n    });\n    observer.observe(textEle);\n    return () => {\n      observer.disconnect();\n    };\n  }, [cssEllipsis, mergedEnableEllipsis]);\n  // ========================== Tooltip ===========================\n  let tooltipProps = {};\n  if (ellipsisConfig.tooltip === true) {\n    tooltipProps = {\n      title: (_a = editConfig.text) !== null && _a !== void 0 ? _a : children\n    };\n  } else if ( /*#__PURE__*/React.isValidElement(ellipsisConfig.tooltip)) {\n    tooltipProps = {\n      title: ellipsisConfig.tooltip\n    };\n  } else if (typeof ellipsisConfig.tooltip === 'object') {\n    tooltipProps = Object.assign({\n      title: (_b = editConfig.text) !== null && _b !== void 0 ? _b : children\n    }, ellipsisConfig.tooltip);\n  } else {\n    tooltipProps = {\n      title: ellipsisConfig.tooltip\n    };\n  }\n  const topAriaLabel = React.useMemo(() => {\n    const isValid = val => ['string', 'number'].includes(typeof val);\n    if (!enableEllipsis || cssEllipsis) {\n      return undefined;\n    }\n    if (isValid(editConfig.text)) {\n      return editConfig.text;\n    }\n    if (isValid(children)) {\n      return children;\n    }\n    if (isValid(title)) {\n      return title;\n    }\n    if (isValid(tooltipProps.title)) {\n      return tooltipProps.title;\n    }\n    return undefined;\n  }, [enableEllipsis, cssEllipsis, title, tooltipProps.title, isMergedEllipsis]);\n  // =========================== Render ===========================\n  // >>>>>>>>>>> Editing input\n  if (editing) {\n    return /*#__PURE__*/React.createElement(Editable, {\n      value: (_c = editConfig.text) !== null && _c !== void 0 ? _c : typeof children === 'string' ? children : '',\n      onSave: onEditChange,\n      onCancel: onEditCancel,\n      onEnd: editConfig.onEnd,\n      prefixCls: prefixCls,\n      className: className,\n      style: style,\n      direction: direction,\n      component: component,\n      maxLength: editConfig.maxLength,\n      autoSize: editConfig.autoSize,\n      enterIcon: editConfig.enterIcon\n    });\n  }\n  // >>>>>>>>>>> Typography\n  // Expand\n  const renderExpand = () => {\n    const {\n      expandable,\n      symbol\n    } = ellipsisConfig;\n    if (!expandable) return null;\n    let expandContent;\n    if (symbol) {\n      expandContent = symbol;\n    } else {\n      expandContent = textLocale.expand;\n    }\n    return /*#__PURE__*/React.createElement(\"a\", {\n      key: \"expand\",\n      className: `${prefixCls}-expand`,\n      onClick: onExpandClick,\n      \"aria-label\": textLocale.expand\n    }, expandContent);\n  };\n  // Edit\n  const renderEdit = () => {\n    if (!enableEdit) return;\n    const {\n      icon,\n      tooltip\n    } = editConfig;\n    const editTitle = toArray(tooltip)[0] || textLocale.edit;\n    const ariaLabel = typeof editTitle === 'string' ? editTitle : '';\n    return triggerType.includes('icon') ? /*#__PURE__*/React.createElement(Tooltip, {\n      key: \"edit\",\n      title: tooltip === false ? '' : editTitle\n    }, /*#__PURE__*/React.createElement(TransButton, {\n      ref: editIconRef,\n      className: `${prefixCls}-edit`,\n      onClick: onEditClick,\n      \"aria-label\": ariaLabel\n    }, icon || /*#__PURE__*/React.createElement(EditOutlined, {\n      role: \"button\"\n    }))) : null;\n  };\n  // Copy\n  const renderCopy = () => {\n    if (!enableCopy) return;\n    const {\n      tooltips,\n      icon\n    } = copyConfig;\n    const tooltipNodes = toList(tooltips);\n    const iconNodes = toList(icon);\n    const copyTitle = copied ? getNode(tooltipNodes[1], textLocale.copied) : getNode(tooltipNodes[0], textLocale.copy);\n    const systemStr = copied ? textLocale.copied : textLocale.copy;\n    const ariaLabel = typeof copyTitle === 'string' ? copyTitle : systemStr;\n    return /*#__PURE__*/React.createElement(Tooltip, {\n      key: \"copy\",\n      title: copyTitle\n    }, /*#__PURE__*/React.createElement(TransButton, {\n      className: classNames(`${prefixCls}-copy`, copied && `${prefixCls}-copy-success`),\n      onClick: onCopyClick,\n      \"aria-label\": ariaLabel\n    }, copied ? getNode(iconNodes[1], /*#__PURE__*/React.createElement(CheckOutlined, null), true) : getNode(iconNodes[0], /*#__PURE__*/React.createElement(CopyOutlined, null), true)));\n  };\n  const renderOperations = renderExpanded => [renderExpanded && renderExpand(), renderEdit(), renderCopy()];\n  const renderEllipsis = needEllipsis => [needEllipsis && /*#__PURE__*/React.createElement(\"span\", {\n    \"aria-hidden\": true,\n    key: \"ellipsis\"\n  }, ELLIPSIS_STR), ellipsisConfig.suffix, renderOperations(needEllipsis)];\n  return /*#__PURE__*/React.createElement(ResizeObserver, {\n    onResize: onResize,\n    disabled: !mergedEnableEllipsis || cssEllipsis\n  }, resizeRef => /*#__PURE__*/React.createElement(EllipsisTooltip, {\n    tooltipProps: tooltipProps,\n    enabledEllipsis: mergedEnableEllipsis,\n    isEllipsis: isMergedEllipsis\n  }, /*#__PURE__*/React.createElement(Typography, Object.assign({\n    className: classNames({\n      [`${prefixCls}-${type}`]: type,\n      [`${prefixCls}-disabled`]: disabled,\n      [`${prefixCls}-ellipsis`]: enableEllipsis,\n      [`${prefixCls}-single-line`]: mergedEnableEllipsis && rows === 1,\n      [`${prefixCls}-ellipsis-single-line`]: cssTextOverflow,\n      [`${prefixCls}-ellipsis-multiple-line`]: cssLineClamp\n    }, className),\n    prefixCls: customizePrefixCls,\n    style: Object.assign(Object.assign({}, style), {\n      WebkitLineClamp: cssLineClamp ? rows : undefined\n    }),\n    component: component,\n    ref: composeRef(resizeRef, typographyRef, ref),\n    direction: direction,\n    onClick: triggerType.includes('text') ? onEditClick : undefined,\n    \"aria-label\": topAriaLabel === null || topAriaLabel === void 0 ? void 0 : topAriaLabel.toString(),\n    title: title\n  }, textProps), /*#__PURE__*/React.createElement(Ellipsis, {\n    enabledMeasure: mergedEnableEllipsis && !cssEllipsis,\n    text: children,\n    rows: rows,\n    width: ellipsisWidth,\n    fontSize: ellipsisFontSize,\n    onEllipsis: onJsEllipsis\n  }, (node, needEllipsis) => {\n    let renderNode = node;\n    if (node.length && needEllipsis && topAriaLabel) {\n      renderNode = /*#__PURE__*/React.createElement(\"span\", {\n        key: \"show-content\",\n        \"aria-hidden\": true\n      }, renderNode);\n    }\n    const wrappedContext = wrapperDecorations(props, /*#__PURE__*/React.createElement(React.Fragment, null, renderNode, renderEllipsis(needEllipsis)));\n    return wrappedContext;\n  }))));\n});\nexport default Base;"],"mappings":"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"},"metadata":{},"sourceType":"module"}